home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Item MB Quick & Easy 2.0
/
Item MB Quick & Easy 2.0.iso
/
mbfacad
/
eaitpros.lsp
< prev
next >
Wrap
Lisp/Scheme
|
1998-03-15
|
4KB
|
99 lines
;---------Unterfunktion zur Zeichnung von Elementen S onstiges (z.B. Wellen)
;--------------------------------------------------------------------------
; Wird neues Element erstellt, trage die Liste mit den Punkten der Quer-
; linien ein (siehe erstes SETQ) und füge eine entsprechende Zeile in der
; ersten COND - Anweisung ein !!!!
;
; PROFIL muß eine String entsprechend aus erster COND- Anweisung sein
; EPKT ist Einfügepkt.
; LA ist Laenge des Elements
; WIN ist Einfügewinkel
; KRI ist Konstruktionswinkel
;--------------------------------------------------------------------------
(defun EAITproS (PROFIL EPKT LA WIN KRI / SS1 LI LI1 LI2 LI3 LI4 LI5 LI6 LI7 LI8 LI9
LIN END1 WIZ N Z)
;--------Listen der Linien
(setvar "OSMODE" 0)
(setq LI1 '(-5 5)
LI2 '(-7 7)
LI3 '(-10 10)
LI4 '(-12.5 12.5)
LI5 '(-15 15)
LI6 '(-3 3)
LI7 '(-25 25)
)
(setq END1 (polar EPKT WIN LA))
(cond ((= PROFIL "Welle 10")(setq LI LI1))
((= PROFIL "Welle 14")(setq LI LI2))
((= PROFIL "Welle 20")(setq LI LI3))
((= PROFIL "Welle 25")(setq LI LI4))
((= PROFIL "Welle 30")(setq LI LI5))
((= PROFIL "Welle 6")(setq LI LI6))
((= PROFIL "Rohr 50")(setq LI LI7))
);cond
;---------Bedingungen für Quadranten
(cond ((AND (<= WIN KRI)(< KRI (+ WIN(/ Pi 2))));I. Quadrant
(setq WIN WIN ;
WIZ (+ WIN (/ Pi 2)) ;
) ;
) ;I. Quadrant
((AND (<= (+ WIN(/ Pi 2)) KRI)(< KRI (+ WIN Pi))); II. Quadrant
(setq WIN (+ WIN Pi) ;
WIZ (- WIN (/ Pi 2)) ;
) ;
) ; II. Quadrant
((AND (<= (+ WIN Pi) KRI)(< KRI (+ WIN (/(* Pi 3)2)))); III.Quadrant
(setq WIN (+ WIN Pi) ;
WIZ (+ WIN (/ Pi 2)) ;
) ;
) ; III. Quadrant
(T ; IV. Quadrant
(setq WIN WIN ;
WIZ (- WIN (/ Pi 2)) ;
) ;
) ; IV. Quadrant
);cond
(setq WINFO (/ (+ WIN WIZ) 2)) ;Winkel für EAITinfo - Punkt
;-----------Zeichnen der Mittellinie
(command EAITlay EAITlse "EAITstpg" "")
(setq END1 (polar EPKT WIN LA))
(command EAITlin EPKT END1 "")
(setq LIN (entlast)
SS1 (ssadd (entlast))
Z -1
)
;-----------Zeichnen der restlichen Linien
(command EAITlay EAITlse "EAIT50" "")
(foreach N LI
(command EAITlin (polar EPKT WIZ N)(polar END1 WIZ N) "")
(setq SS1 (ssadd (entlast) SS1))
(setq Z (1+ Z))
);foreach
(command EAITlin (polar EPKT WIZ (nth 0 LI)) (polar EPKT WIZ (nth Z LI)) "") ;Seiten-Linie d. Elements
(setq SS1 (ssadd (entlast) SS1))
(command EAITlin (polar END1 WIZ (nth 0 LI)) (polar END1 WIZ (nth Z LI)) "") ;Seiten-Linie d. Elements
(setq SS1 (ssadd (entlast) SS1))
;-----------Block bilden
(setq BName (EAITbnr))
(command EAITblo BName EPKT SS1 ""
EAITege BName EPKT "" "" "" )
(princ)
);Unterfkt.
(princ)